package cn.biplam.back.jda.jdbc;

import cn.biplam.common.client.DbResource;
import cn.biplam.common.tools.TOOLS;
import cn.biplam.common.wrapper.ErrorMessage;

/**
 * 获取数据库jdbc连接的工厂类
 * @author 	WangSong 2009-3-30 下午05:40:15
 * @version 1.0
 */
public class JdbcConnectionFactory {
	
	private JdbcConnectionFactory(){}
	
	/**
	 * 根据数据库类型，获取数据库jdbc连接
	 * @param mDbResource  数据源信息
	 * @return JdbcConnection
	 * @throws ErrorMessage
	 */
	public static JdbcConnection getInstance(DbResource mDbResource) throws ErrorMessage{
		
		/**数据库版本信息*/
		int iDbVersion = TOOLS.stringToInt(mDbResource.getDbtype());
		switch (iDbVersion){
		case 1 :
			return JdbcConnectionOracle.getInstance(mDbResource);
		case 6 :
			return JdbcConnectionDerby.getInstance(mDbResource);
		case 4 :
			return JdbcConnectionSqlServer.getInstance(mDbResource);
		default :
			throw new ErrorMessage("Unknow Database Type:"+mDbResource.getDbtype());
		}
	}
}
